The communications industry is a rapidly growing industry that affects almost every other major industry. Because of the field's rapid growth, the management of communication systems has become more difficult as the systems have become increasingly larger and more complex. Modern communication systems include wireless devices that are capable of attempting to initiate network sessions through serving nodes that couple the wireless devices to a network. Because of this, the serving nodes must be capable of monitoring the wireless device's communication in order to provide the appropriate network sessions in accordance with the user's service level agreement with the network service provider.
Traditional methods for providing the appropriate network sessions require the serving node to process payload data in every packet from a wireless device that is destined for the network in order to verify proper session activity for the user. For example, if a user attempts to access a particular web-site, the serving node retrieves this information from the packet sent by the wireless device. The serving node then checks the user's agreement with the network service provider to determine whether the user is allowed access to the requested web-site. If the user is allowed access, the serving node transmits the packet to the network for further processing. If the user is not allowed access, the serving node may inform the user that access is denied or may request additional information from the user which may allow access.
Therefore, in order to accurately provide service to each user in this way, the serving node has to hold and inspect every packet from the wireless device, check the contents of the payload data against conditions for the user, and take appropriate action in response to the results. Providing service in this manner places a large burden on the resources of the serving node.